unist-util-to-list-of-char
Provide API to provide list of each character inside unist node tree.
Installation
npm install unist-util-to-list-of-char
Usage
var remark = require('remark');
var toList = require('unist-util-to-list-of-char');
var tree = remark().parse('Some _emphasis_, **importance**, and `code`.');
function callback(list) {
console.log(list);
}
toList(tree, 'root', callback);
Yields
[
{ value: 'S', line: 1, column: 1, offset: 0 },
{ value: 'o', line: 1, column: 2, offset: 1 },
{ value: 'm', line: 1, column: 3, offset: 2 },
{ value: 'e', line: 1, column: 4, offset: 3 },
{ value: ' ', line: 1, column: 5, offset: 4 },
{ value: 'e', line: 1, column: 7, offset: 6 },
{ value: 'm', line: 1, column: 8, offset: 7 },
{ value: 'p', line: 1, column: 9, offset: 8 },
{ value: 'h', line: 1, column: 10, offset: 9 },
{ value: 'a', line: 1, column: 11, offset: 10 },
{ value: 's', line: 1, column: 12, offset: 11 },
{ value: 'i', line: 1, column: 13, offset: 12 },
{ value: 's', line: 1, column: 14, offset: 13 },
{ value: ',', line: 1, column: 16, offset: 15 },
{ value: ' ', line: 1, column: 17, offset: 16 },
{ value: 'i', line: 1, column: 20, offset: 19 },
{ value: 'm', line: 1, column: 21, offset: 20 },
{ value: 'p', line: 1, column: 22, offset: 21 },
{ value: 'o', line: 1, column: 23, offset: 22 },
{ value: 'r', line: 1, column: 24, offset: 23 },
{ value: 't', line: 1, column: 25, offset: 24 },
{ value: 'a', line: 1, column: 26, offset: 25 },
{ value: 'n', line: 1, column: 27, offset: 26 },
{ value: 'c', line: 1, column: 28, offset: 27 },
{ value: 'e', line: 1, column: 29, offset: 28 },
{ value: ',', line: 1, column: 32, offset: 31 },
{ value: ' ', line: 1, column: 33, offset: 32 },
{ value: 'a', line: 1, column: 34, offset: 33 },
{ value: 'n', line: 1, column: 35, offset: 34 },
{ value: 'd', line: 1, column: 36, offset: 35 },
{ value: ' ', line: 1, column: 37, offset: 36 },
{ value: 'c', line: 1, column: 38, offset: 37 },
{ value: 'o', line: 1, column: 39, offset: 38 },
{ value: 'd', line: 1, column: 40, offset: 39 },
{ value: 'e', line: 1, column: 41, offset: 40 },
{ value: '.', line: 1, column: 44, offset: 43 },
]
API
toList(tree[, test], callback)
This function will iterate through given tree to generate list of characters from text.
If test
is provided, only subset of tree will be used. callback
might be triggered multiple
times if there are multiple sub-trees.
callback
function will be triggered by given a list of nodes with following structure:
{
value: 'c',
column: 1,
line: 1,
offset: 1,
}
License
MIT © LaySent